<?php
namespace Admin\Controller;
use Think\Controller;
use Org\Util\Rbac;
class PublicController extends BaseController {
    
    public function login(){
        if(!isset($_SESSION[C('USER_AUTH_KEY')])) {
            $this->display();
        }else{
            //echo 123;exit;
            $this->redirect('Index/index');
        }
    }
    
    public function checklogin(){
        //此处多余可自行改为Model自动验证
        /*if(empty($_POST['username'])) {
            $this->error('账号必须！');
        }elseif (empty($_POST['password'])){
            $this->error('密码必须！');
        }
        
        $map=array();*/
        $map['username']=$_POST['username'];
//        $map['status']=array('gt',0);
        
        import('ORG.Util.RBAC');
        //C('USER_AUTH_MODEL','User');
        //验证账号密码
        $authInfo=RBAC::authenticate($map);
        
        if(empty($authInfo)){
            echo '登陆失败联系管理员!';
        }else{
            if($authInfo['password']!=md5($_POST['password']) ){
                echo '登陆失败联系管理员!';
                //var_dump($authInfo);
            }else{
                if( $authInfo['status']==0){
                    echo '已禁用，请联系管理员!';
                }else{
                if( $authInfo['power']<1){
                    echo '无权登录，请联系管理员提升权限!';
                }
               
            $_SESSION[C('USER_AUTH_KEY')]=$authInfo['id'];//记录认证标记，必须有。其他信息根据情况取用。
            
            $_SESSION['email']=$authInfo['email'];
            $_SESSION['username']=$authInfo['username'];
            $_SESSION['account']=$authInfo['account'];
            $_SESSION['id']=$authInfo['id'];
            $_SESSION['power']=$authInfo['power'];
//            $_SESSION['last_login_date']=$authInfo['last_login_date'];
//            $_SESSION['last_login_ip']=$authInfo['last_login_ip'];
            //判断是否为超级管理员
            if($authInfo['power']==2){
                $_SESSION[C('ADMIN_AUTH_KEY')]=true;
            }
           //以下操作为记录本次登录信息
            $user=M('sdk_user');
            $last_time=strtotime("now");
            $data=array();
            $id=$authInfo['id'];
            $data['last_time']=$last_time;
            //$data['loginip']=$_SERVER["REMOTE_ADDR"];
            $user->where("id=$id")->save($data);
            
            RBAC::saveAccessList();//用于检测用户权限的方法,并保存到Session中
            //$this->assign('jumpUrl','/admin.php/Home/Index/index');
            //$this->redirect('/Index/index');
            if($authInfo['power']==1){
                echo 1;
            }
            }
        }
    }
    }
    //退出登录操作
    function logout(){
        if(!empty($_SESSION[C('USER_AUTH_KEY')])){
            unset($_SESSION[C('USER_AUTH_KEY')]);
            $_SESSION=array();
            session_destroy();
            
            
            $this->success('登出成功','login');
        }else{
            $this->error('已经登出了');
        }
    }
    
    
    
    
    
    
    
    
}